#ifndef __RENDER__MANAGER__H__
#define __RENDER__MANAGER__H__
#include "common/Singleton.hpp"
#include <memory.h>
#include <thread>
#include <vector>
#include "renders/IRender.h"

class RenderManager : public FragrantGrass::Singleton<RenderManager>
{
public:
	RenderManager();
	~RenderManager();

	void Draw();
	void Idle();

private:
	void AddRenders(std::shared_ptr<IRender> render);
	void RegisterAllRenders();

private:
	std::vector<std::shared_ptr<IRender>> mRenders;

};
#endif//__RENDER__MANAGER__H__